package geecache

type ByteView struct {
	b []byte  // 选择byte切片，是为了能够支持任意数据类型的存储
}

// 实现Value接口，返回所占内存大小
func (v ByteView) Len() int{
	return len(v.b)
}

// b是只读的，返回一个拷贝，防止缓存值被外部程序修改
func (v ByteView) String() string{
	return string(v.b)
}

func (v ByteView) ByteSlice() []byte{
	return cloneBytes(v.b)
}


func cloneBytes(b []byte) []byte{
	c := make([]byte, len(b))
	copy(c, b)
	return c
}




